#pragma once

#include "IWindow.h"


class CPlatformWindow: public IWindow
{
public:
	CPlatformWindow();
	virtual ~CPlatformWindow() {}

	//	interface implementation
	virtual bool Init(XINSTANCE appHandle, void* pMsgProc);

	virtual void SetCaption(const char* caption);
	virtual void SetSize(uint width, uint height);
	virtual void SetPos(int x, int y);
	virtual uint GetClientWidth() const;
	virtual uint GetClientHeight() const;
	virtual XWND GetHandle() const;

	virtual void CenterScreen();
	virtual void ToggleFullscreen();
	virtual void Maximize();
	virtual void Minimize();

	virtual void Close();

private:
	int		GetXPos() const;
	int		GetYPos() const;
	uint	GetWidth() const;
	uint	GetHeight() const;

private:
	HWND	m_handle;	//	window handle
	bool	m_fullscreen;
};